home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
keyb
/
dce.zip
/
DCESTART.SRC
< prev
next >
Wrap
Text File
|
1989-02-06
|
4KB
|
154 lines
' ***** DCE ** (C)1988-89, by GNA. *****
'═════════════════════════════════════════════════════════════════════════════
' *** what kind of display adapter ? ***
DEF SEG=&H40
IF (PEEK(&H10) AND &H30)=&H00 THEN
DEF SEG
PLAY MusiErr$
CALL CADRE(10,24,16,57,0,7,0)
LOCATE 12,27:COLOR 12,0:PRINT "The display adaptor found"
LOCATE 14,26:COLOR 12,0
PRINT "is not compatible with"+SPACE$(2)+Logiciel$+"!"
LOCATE 23,1:COLOR 7,0:END
END IF
'═════════════════════════════════════════════════════════════════════════════
' *** find the screen area address ***
DEF SEG=0
SegEcr&=-((PEEK(&H410) AND &H30)<>&H30)*&HB800
IF SegEcr&=0 THEN SegEcr&=&HB000
DEF SEG
'═════════════════════════════════════════════════════════════════════════════
' *** vérifying DOS version (Ver >= 2.11) ***
REG %AX,&H3000
CALL INTERRUPT &H21
DosVers=(REG(%AX) AND &HFF)+(REG(%AX) AND &HFF00)/25600!
IF DosVers<2.11 THEN
PLAY MusiErr$
CALL CADRE(10,24,16,57,0,7,0)
LOCATE 13,24:COLOR 12,0
PRINT Logiciel$+" needs MS-DOS"+CHR$(32)+CHR$(242)+CHR$(32)+"V2.11"
LOCATE 23,1:COLOR 7,0:END
END IF
'═════════════════════════════════════════════════════════════════════════════
' *** memory size : >= 384 Ko ***
CALL INTERRUPT &H12
IF REG(%AX)<384 THEN
PLAY MusiErr$
CALL CADRE(10,24,16,57,0,7,0)
LOCATE 13,30:COLOR 12,0
PRINT Logiciel$+CHR$(32)+"needs 384Ko memory"
LOCATE 23,1:COLOR 7,0:END
END IF
'═════════════════════════════════════════════════════════════════════════════
' *** environment string (COMSPEC) ***
ComSpec$=ENVIRON$("COMSPEC")
'═════════════════════════════════════════════════════════════════════════════
' *** reboot message ***
Reboot$(1)="System must be loading"
Reboot$(2)="from disk drive unit"
Reboot$(3)="hit [Alt]-[Ctrl]-[Del] ..."
'═════════════════════════════════════════════════════════════════════════════
' *** exists any hard disk drive (C:) ***
REG %AX,&H1C00
REG %DX,&H03
CALL INTERRUPT &H21
DEF SEG=REG(%DS)
IF PEEK(REG(%BX))=&HF8 THEN
DEF SEG
DiskUtil$="C:\"
' *** COMSPEC from drive C: ***
IF ComSpec$<>"" THEN
IF LEFT$(ComSpec$,3)<>DiskUtil$ THEN
FlgSpec=1
END IF
ELSE
FlgSpec=1
END IF
IF FlgSpec=1 THEN
PLAY MusiErr$
CALL CADRE(10,24,16,57,0,7,0)
LOCATE 12,29:COLOR 12,0:PRINT Reboot$(1)
LOCATE 13,28:COLOR 12,0:PRINT Reboot$(2)+CHR$(32)+LEFT$(DiskUtil$,2)
LOCATE 14,27:COLOR 12,0:PRINT Reboot$(3)
LOCATE 23,1:COLOR 7,0:END
ELSE
' *** sélect hard disk C: (if any) ***
REG %AX,&H0E00
REG %DX,&H02
CALL INTERRUPT &H21
END IF
ELSE
DEF SEG
' *** at least two disk drives needed by DCE ***
REG %AX,&H00
CALL INTERRUPT &H11
IF (REG(%AX) AND 1)=1 THEN
IF (REG(%AX) AND &HC0)<&H40 THEN
FlgDisk=1
END IF
ELSE
FlgDisk=1
END IF
IF FlgDisk=1 THEN
PLAY MusiErr$
CALL CADRE(10,24,16,57,0,7,0)
LOCATE 12,31:COLOR 12,0:PRINT Logiciel$+" needs at least"
LOCATE 14,26:COLOR 12,0:PRINT "two disk drives to work ..."
LOCATE 23,1:COLOR 7,0:END
ELSE
' *** COMSPEC from drive A: ***
DiskUtil$="A:\"
IF ComSpec$<>"" THEN
IF LEFT$(ComSpec$,3)<>DiskUtil$ THEN
FlgSpec=1
END IF
ELSE
FlgSpec=1
END IF
IF FlgSpec=1 THEN
PLAY MusiErr$
CALL CADRE(10,24,16,57,0,7,0)
LOCATE 16,24:PRINT Ligne3$;
LOCATE 12,29:COLOR 12,0:PRINT Reboot$(1)
LOCATE 13,28:COLOR 12,0:PRINT Reboot$(2)+CHR$(32)+_
LEFT$(DiskUtil$,2)
LOCATE 14,27:COLOR 12,0:PRINT Reboot$(3)
LOCATE 23,1:COLOR 7,0:END
ELSE
DiskUtil$="B:\"
END IF
END IF
END IF
' --------------------------------- finish ----------------------------------